The present invention relates to a computer system having a host computer and a color printer connected to the host computer via an interface to output a color image, and a color image data transfer method executed by this computer system.
A color printer used in such a computer system is connected to a host computer or the like, and is used as a color printer for printing a full color image on a printing paper based on outputted color image data. Heretofore, there are known a thermal transfer printer, a dye diffusion printer (sublimation transfer) printer, etc. The sublimation transfer printer, for example, expresses a full color image at the bit unit by transferring and overlapping sublimation inks (dyes) of three colors of cyan (C), magenta (M) and yellow (Y).
Color image data handled in the inside of host computer or the like is generally digital data composed of R (red), G (green) and B (blue) color signals, and the computer outputs RGB data. Therefore, when a color image is printed out by a color printer, the color image is printed out by overlapping three dyes of C, M, Y, and hence RGB data for the computer should be converted into CMY data for the color printer.
In the present invention, conversion from RGB data composed of R, G, B color signals into CMY data composed of C, M, Y color signals will be referred to as "masking", and a circuit for effecting such masking processing will hereinafter be referred to as a "masking circuit".
Theoretically, cyan (C), magenta (M), yellow (Y) are complementary colors with respect to red (R), green (G), blue (B), respectively. Accordingly, assuming that R, G, B data of an image, for example, are 8-bit digital data, CMY color printer data may be obtained by digitally inverting these data.
If each of RGB data is expressed by 8 bits and 3 colors/1 dot are expressed by 24 bits, then RGB digital data of pure red (R) are expressed as R=(FF).sub.16, G=(00).sub.16, B=(00).sub.16. Then, a mixture of (00).sub.16 =C, (FF).sub.16 =M, (FF).sub.16 =Y which are CMY data obtained by digitally inverting the above RGB digital data, i.e., pure magenta and pure yellow becomes pure red. As described above, C data is determined by inverting R data; M data is determined by inverting G data; and Y data is determined by inverting B data, respectively. These methods are generally referred to as a "linear masking method".
However, in the CMY dyes (pigments) used by color printers in actual practice, dye of C contains elements of magenta and yellow in addition to an element of cyan, dye of M contains elements of cyan and yellow in addition to an element of magenta, and dye of Y contains elements of cyan and magenta in addition to an element of yellow, and therefore dyes of yellow, magenta and cyan do not correspond to pure yellow, magenta and cyan theoretically. Dyes of C, M, Y cannot independently realize ideal yellow, magenta and cyan. Accordingly, when any one of yellow, magenta and cyan is generated, all data of R, G, B are used, and CMY are properly mixed to thereby generate a target color. In other words, when each (e.g., 8 bits) of CMY data of printing dot is formed, data (e.g., 24 bits) of three colors of R, G, B are required simultaneously.
To this end, masking correction data are stored in a ROM (read-only memory), and data of one picture of each of CMY data are converted from data of three pictures of R, G, B, and determined. Further, in order to output a finished print-out of a desired color, there is used a correction method of emphasizing a particular color intentionally. This correction method is called "nonlinear masking method". To effect the above-mentioned masking, the printer needs memories for storing data of three pictures of R, G, B.
FIG. 1 of the accompanying drawings shows a conventional system in which a color printer 20 is connected to a host computer 22. Although other input and output devices, external storage devices, etc., (not shown) may be connected to the host computer 22 through a predetermined interface (not shown), those other input and output device, external storage devices, etc., are not directly concerned with the conventional system, and therefore need not be described.
As shown in FIG. 1, the host computer 22 includes an internal main memory which houses therein "printer driver software" 26 serving as software necessary for controlling a color printer such that the printer may be operated in cooperation with a predetermined printer.
The printer driver software 26 is a software whose task is to confirm the state of the color printer 20 connected to the host computer 22, to exchange output data size and to determine a transfer system or the like. As a transfer system, there is known a dot-sequential system for transferring RGB data at every dot and a line-sequential system for transferring R data, G data and B data at every picture.
As the printer driver software 26, there are roughly classified as a printer driver software incorporated together with an OS (Operating System) which is a basic software for controlling the system operation of the host computer and as a printer driver software incorporated together with individual application software running on the OS. By way of example, in the Macintosh (registered trademark) computer manufactured by Apple Computer Inc., software called "SELECTOR" corresponds to the former printer driver software, and an output program of still color picture output application software called "PHOTOSHOP" (registered trademark) corresponds to the latter printer driver software.
The color printer 20 is connected through a predetermined interface 10 to the host computer 22. As the interface 10, there are generally used SCSI (Small Computer System Interface), Centronics, or RS-232C (EIA RS-232C Standard), etc.
The color printer 20 includes an interface (I/F) unit 12 for receiving the predetermined interface 10, a memory means 28 comprising an R memory 28-1, a B memory 28-2, a B memory 28-3 each having a storage capacity of one picture for receiving each of the R, G, B data from the I/F unit 12 and storing the same, an R color adjustment circuit 30-1, a G color adjustment circuit 30-2 and a color adjustment circuit 30 comprising a B color adjustment circuit 30-3 for color adjusting R data, G data, B data outputted from these memories 28-1, 28-2, 28-3, a masking circuit 32 for receiving and converting RGB data into CMY data, a selector 34 for selecting CMY data outputted from the masking circuit 32 in response to a control signal select after the R, G, B data have been color-adjusted, a thermal head control unit 16 for effecting various kinds of correction processing such as PWM (pulse width modulation) for determining density and gradation, and a thermal head unit 18 for effecting thermal transfer without a conduction time of a heater (not shown) being varied in response to time-modulated CMY data.
The interface (I/F) 10 is an SCSI reception I/F substrate when the SCSI interface is used as an SCSI interface, and includes a line-buffer or the like.
The memory 28 incorporated in the digital color printer 20 comprises the R memory 28-1, the G memory 28-2 and the B memory 28-3, each having a memory capacity of 10 Mbytes for storing data of one picture. Therefore, the R memory 28-1, the G memory 28-2 and the B memory 28-3 include memory capacities of 30 Mbytes in total (see FIG. 2B). The reason for this will be described below. When a full color image is printed out on a printing paper of size A4 (210 mm wide and 297 mm long), if an accuracy is 300 dpi (dots per inch), then 480 dots in width.times.3508 dots in length=8.7 Mdots. Accordingly, image data consists of data of 8 bits (1 byte) per dot, and the printer in actual practice requires 10 Mbytes (see FIG. 2A) for each of R, G, B and requires memories of 30 Mbytes in total (see FIG. 2B).
The color adjusting circuit 30 is a circuit incorporated as a printer function, and may be a gamma correction circuit for effecting a nonlinear correction, and a correction circuit for emphasizing a particular color.
The masking circuit 32 converts the computer RGB data into the CMY data in response to dye characteristics used in the printer. Correction data is stored in the ROM or the like.
An operation of the above conventional sublimation type printer will be described below. The RGB data of one picture supplied from the host computer 22 are temporarily stored in the memory 28 with the memory sizes of three colors corresponding to the image size of the color printer 20. Upon printing, the RGB data are color-adjusted by the color adjustment circuit 30 in unison with a printing timing signal from the memory 28, and transferred to the thermal head control unit 16 through the masking circuit 32 and the selector circuit 34. The masking circuit 32 converts the RGB data into the CMY data by masking processing.
As described above, since the conventional color printer 20 temporarily stores all data of one picture and then masks the same, it should incorporate therein the memory 28 with the storage capacity corresponding to all image data. Accordingly, the conventional printer should incorporate therein a memory with an increased memory size as the size of the printing paper is increased. As a result, a cost of memory is increased, which unavoidably makes the color printer more expensive.